In [1]:
from pathlib import Path

from ipyniivue import download_dataset

BASE_API_URL = "https://niivue.com/demos/images/"
DATA_FOLDER = Path("images")

# Download data for example
download_dataset(
    BASE_API_URL,
    DATA_FOLDER,
    files=[
        "mni152.nii.gz",
        "hippo.nii.gz",
    ],
)
mni152.nii.gz already exists.
hippo.nii.gz already exists.
Dataset downloaded successfully to images.
In [2]:
from ipywidgets import Output

from ipyniivue import NiiVue, SliceType

out = Output()
display(out)

nv = NiiVue(slice_type=SliceType.MULTIPLANAR)


@nv.on_image_loaded
def on_image_loaded(volume):
    """
    Event handler called when an image is loaded.

    Parameters
    ----------
    volume : ipyniivue.Volume
        The loaded image volume.
    """
    with out:
        print("Image loaded:", volume.id, volume.name, volume.colormap)


# Load volumes
nv.load_volumes(
    [
        {
            "path": DATA_FOLDER / "mni152.nii.gz",
            "colormap": "gray",
            "opacity": 1.0,
        },
        {
            "path": DATA_FOLDER / "hippo.nii.gz",
            "colormap": "red",
            "opacity": 1.0,
        },
    ]
)

nv.add_volume(
    {
        "path": DATA_FOLDER / "mni152.nii.gz",
        "colormap": "gray",
        "opacity": 1.0,
    }
)

display(nv)